1. Field of the Invention
The present invention generally relates to a server-client system and more specifically to encoding and decoding transmissions for remote gaming.
2. Description of the Related Art
Conventional server-client systems either encode image data on a server or simply access image data that has already been encoded for transmission to a client. The client then decodes and displays the image data. A typical scenario employs these conventional server-client systems for playback-type applications, such as video-on-demand applications.
A conventional server-client system is able to maintain a frame rate of 60 frames per second when image data is generated and encoded by the server, transmitted from the server to the client, and then decoded and then displayed by the client. While a throughput of 60 frames per second can be maintained, the latency incurred from the time the image data is generated by the server to the time the image data is displayed by the client can be significant. However, in conventional systems, a user viewing images displayed on the client device does not perceive these types of latencies once the playback of the content has started and is maintained at 60 frames per second.
Playback-oriented applications that are implemented on client devices to access content from server machines allow limited opportunities for a client to provide control inputs to a server in a conventional server-client system. However, control inputs such as pause, play, fast-forward, and rewind expose the above-mentioned latencies when the playback mode of the content provided by the server changes. Although users typically expect to experience some latencies when the playback mode of content changes, when a user plays an interactive game application on a client device that accesses content from a server machine, any latency that reduces the frame rate is undesirable. Unfortunately, latencies are exposed whenever an input provided by the user impacts the image data that is generated by the server.
One reason that such latencies are exposed to users of interactive gaming applications is that the encoding and decoding techniques implemented by the conventional server-client system are designed to satisfy a particular frame rate for the remote playback of content. The encoding and decoding techniques do not also minimize latency for encoding, transmitting, and decoding image data that satisfies the needs of a remote interactive gaming application. Therefore, a user playing an interactive game application on a remote client experiences slowing of the frame rate, i.e., the latency is exposed, whenever the user provides an input control to the game application.
Accordingly, what is needed in the art is an approach that reduces the latencies experienced by users when interacting with or accessing gaming content being provided by server machines in server-client systems.